#include <iostream>
// 1

// 5、C++14版本之后允许推导返回值;建议只在内部函数中用
// 6、C++20之后auto可作为模版使用
auto func(auto a)
{
    return a;
}

int main()
{
    // 1、定义必须初始化auto a;                       
    // 2、不能连续推导不同的类型 auto a = 10,b = 3.14;
    // auto a = 10; // 最大的用法是在STL中替代迭代器
    // 3、auto推不出引用,推不出const 
    // 4、auto & 能推出const
    const int a = 10;
    auto & c = a;
    std::cout<<func(10)<<std::endl;
    // 5、auto不能推出数组，能推指针
    auto c = "hello";
    return 0;
}
